import { useNavigate } from "react-router-dom";
import { useAuth } from "@/contexts/authContext.js";
import { useEffect } from "react";

// 私有路由组件，用于保护需要登录才能访问的页面
export default function PrivateRoute({ children }) {
  const { isAuthenticated } = useAuth();
  const navigate = useNavigate();

  useEffect(() => {
    // 检查用户是否已认证
    if (!isAuthenticated) {
      // 未认证则重定向到登录页面
      navigate("/login", { replace: true });
    }
  }, [isAuthenticated, navigate]);

  // 如果已认证，渲染子组件
  return isAuthenticated ? children : null;
}